/////////////////////////////////////////////////////////////////////////////
// Name:        preferencesdialog.h
// Purpose:     
// Author:      Julian Smart
// Modified by: 
// Created:     19/02/2009 09:00:59
// RCS-ID:      
// Copyright:   
// Licence:     New BSD License
/////////////////////////////////////////////////////////////////////////////

#ifndef _PREFERENCESDIALOG_H_
#define _PREFERENCESDIALOG_H_


/*!
 * Includes
 */

////@begin includes
#include "wx/propdlg.h"
////@end includes

/*!
 * Forward declarations
 */

////@begin forward declarations
class wxTTSSpeechSettingsPanel;
class wxTTSMP3SettingsPanel;
////@end forward declarations

#include "tts/tts_speechsettingspanel.h"
#include "tts/tts_mp3settingspanel.h"

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_BLURTPREFERENCESDIALOG 10001
#define SYMBOL_BLURTPREFERENCESDIALOG_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_BLURTPREFERENCESDIALOG_TITLE _("Blurt Preferences")
#define SYMBOL_BLURTPREFERENCESDIALOG_IDNAME ID_BLURTPREFERENCESDIALOG
#define SYMBOL_BLURTPREFERENCESDIALOG_SIZE wxSize(400, 300)
#define SYMBOL_BLURTPREFERENCESDIALOG_POSITION wxDefaultPosition
////@end control identifiers


/*!
 * BlurtPreferencesDialog class declaration
 */

class BlurtPreferencesDialog: public wxPropertySheetDialog
{    
    DECLARE_DYNAMIC_CLASS( BlurtPreferencesDialog )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    BlurtPreferencesDialog();
    BlurtPreferencesDialog( wxWindow* parent, wxWindowID id = SYMBOL_BLURTPREFERENCESDIALOG_IDNAME, const wxString& caption = SYMBOL_BLURTPREFERENCESDIALOG_TITLE, const wxPoint& pos = SYMBOL_BLURTPREFERENCESDIALOG_POSITION, const wxSize& size = SYMBOL_BLURTPREFERENCESDIALOG_SIZE, long style = SYMBOL_BLURTPREFERENCESDIALOG_STYLE );

    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_BLURTPREFERENCESDIALOG_IDNAME, const wxString& caption = SYMBOL_BLURTPREFERENCESDIALOG_TITLE, const wxPoint& pos = SYMBOL_BLURTPREFERENCESDIALOG_POSITION, const wxSize& size = SYMBOL_BLURTPREFERENCESDIALOG_SIZE, long style = SYMBOL_BLURTPREFERENCESDIALOG_STYLE );

    /// Destructor
    ~BlurtPreferencesDialog();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    void CreateControls();

    /// Data transfer
    virtual bool TransferDataFromWindow();

////@begin BlurtPreferencesDialog event handler declarations

////@end BlurtPreferencesDialog event handler declarations

////@begin BlurtPreferencesDialog member function declarations

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end BlurtPreferencesDialog member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

////@begin BlurtPreferencesDialog member variables
    wxTTSSpeechSettingsPanel* m_speechSettingsPanel;
    wxTTSMP3SettingsPanel* m_mp3SettingsPanel;
////@end BlurtPreferencesDialog member variables
};

#endif
    // _PREFERENCESDIALOG_H_
